package com.th.supcom.pds.impl.manager;

import java.util.List;
import java.util.Map;

import com.th.supcom.pds.domain.pojo.CpoeBasicFreqDetail;
import com.th.supcom.pds.domain.pojo.Office;
import com.th.supcom.pds.domain.pojo.PdsPrescDetailCombine;
import com.th.supcom.pds.domain.pojo.PhamBasicInfo;
import com.th.supcom.pds.domain.vo.PdsPrescParametersVO;
import com.th.supcom.pds.domain.vo.PhamInfo;

public interface PhamInfoManager
{ /**
     * 根据科室号和药品编码查询药品信息 用于处方药品检验
     * @param phamInfo
     * @return
     * add by Zli
     */
    public List <PhamInfo>queryPhamInfoByCondition(PdsPrescParametersVO pdsPrescParametersVO);
    /**
     * 根据药品编码查询药品是否分割
     * @param params
     * @return
     * add by Zli
     */
    public List <String> findPhamBasicInfoSplitByMap(Map <String, Object>params);
    /**
     * 根据药品编码得到药品基本信息
     * @param params
     * @return
     * add by Zli
     */
    public PhamBasicInfo getPhamBasicInfoByMap(Map <String, Object>params);
    /**
     *  根据频次号得到药品频次信息
     * @param param
     * @return
     * add by Zli
     */
    public CpoeBasicFreqDetail getCpoeBasicFreqDetailByID(String freqCode);
    /**
     * 查询有库存的药房
     * @param pdsPrescDetailCombine
     * @return
     * add by Zli
     */
    public List <Office> findExecutiveOffice(PdsPrescDetailCombine pdsPrescDetailCombine);
    /** 公司版权信息. */
    public static final String copyright = "Copyright 2014, XuNuo Corporation";

    /** 提交路径. */
    public static final String SCC_BRANCH = "$URL$";

    /** 提交日期. */
    public static final String SCC_LAST_MODIFICATION_DATE = "$Date$";

    /** 最终修改人员. */
    public static final String SCC_LAST_MODIFIER_NAME = "$Author$";

    /** 最终版本号. */
    public static final String SCC_REVISION = "$Revision$";

    /**
     * 根据药品的编码和执行科室名称查询库存
     * 
     * @param pdsPrescDetailCombine
     * @return List
     */
    public Integer findDrugStockByExample (PdsPrescDetailCombine pdsPrescDetailCombine);
    /**
     * 通过药品的编码和执行科室得到药品的批次管理标志
     * @param pdsPrescDetailCombine
     * @return
     * add by Zli
     */
    public PhamInfo  findPPTBy (PdsPrescDetailCombine pdsPrescDetailCombine);
    
    /**
     * 查询药品批次号   
     * @param map   performedBy   phamStdCode
     * @return
     * add by Zli
     */
    public List<String> findDrugBatchNumber(Map <String, Object>map);
}
